我要先爆炸一下,這篇我打到一半誤觸重新整理,結果現在我要重打!!我也沒存草稿阿!!!WTF!!!
好吧...繼昨天的內容,AI跟我說的推薦作法:
結果就是
沒有
沒有
沒有
我要拉下來玩的專案一點都沒有想要留給windows系統play的餘地。
所以我打算聽從他的建議,用 WSL2 (Windows Subsystem for Linux),在 WSL 裡跑環境,比較接近 Mac/Linux 的生態。
WSL是一個既陌生又有點小熟悉的字眼,前一陣子我想說要玩open ai的 codex,但在windows之下要用瀏覽器登入卻一直卡住動不了。最後靠GPT才得出可以用WSL Linux環境試試看,才順利登入啟用。
但codex對我這菜雞而言,體感真的是大輸claude和copilot阿!!!明明copilot也是用GPT模型不是嘛!?codex真的是...很普阿...甚至感受比gemini終端機版本還要更不好...GPT最後我還是先留在瀏覽器使用囉!
總之,我開始要重回WSL了。
Q:我該怎麼在wsl弄linux環境?
A: --- (安裝這些就略過不講了),用 Ubuntu 做基礎環境
WTH?Ubuntu?我根本沒看過這東西..
Q:Ubuntu? linux?
A:Linux 跟 Ubuntu 的關係
Linux 就像是「一個大家族」或「核心系統」。
Ubuntu 是這個家族裡的一個「成員」──它是一種「Linux 發行版」。
可以想像成:
Linux = 車子的「引擎技術」
Ubuntu = 用這個引擎做出來的一台「品牌車子」
所以當我說「安裝 Ubuntu」,意思就是:安裝一個 Linux 系統的版本,讓你能在 Windows WSL 裡用。
Q:用文字拼圖畫一個這些工具、環境之間的關係圖吧
A:
+-------------------+
| Windows 系統 |
| (你的電腦主系統) |
+-------------------+
│
▼
+-------------------+
| WSL2 |
| (Windows 下跑 Linux)|
+-------------------+
│
┌─────────────┴─────────────┐
▼ ▼
+-------------------+ +-------------------+
| Ubuntu | | Docker Engine |
| (Linux 發行版之一) | | (容器系統,依賴WSL)|
+-------------------+ +-------------------+
│ │
▼ ▼
+-------------+ +-----------------+
| 開發環境 | | Docker 容器 |
| (Python, | | (小型獨立Linux |
| Node, Git) | | 跑專案的沙盒) |
+-------------+ +-----------------+
另外兩家AI求證此內容OK。CC強調了 Docker Engine 在技術實現上通常還是需要一個 Linux 環境來運行,而不是直接在 WSL2 層面運行,所以WSL還是在跑著Linux。
AI們進一步給了些清楚的圖示:
Windows
│
▼
WSL2 (提供 Linux 核心)
│
├── Ubuntu (給你寫程式用的 Linux 發行版)
│
└── Docker Engine (利用同一顆 Linux 核心來跑容器)
│
└── 各種 Docker 容器 (獨立小Linux環境)
但在這幾個圖中,真的還是很難想像他們怎麼互動的,所以接著問。
Q:在這情形下,專案跑起來時的流程?
A:
(1) GitHub 專案
│
▼
(2) 拉下來到 Ubuntu (WSL)
│
│ ┌─────────────────────────────┐
│ │ Ubuntu:裝工具、建環境 │
│ │ (Git / Python / Node / DB) │
│ └─────────────────────────────┘
│
▼
(3) Docker
│
│ ┌─────────────────────────────┐
│ │ Docker 容器:獨立小Linux環境 │
│ │ - 安裝專案需要的依賴 │
│ │ - 保證跨平台能跑 │
│ └─────────────────────────────┘
│
▼
(4) 專案運行
│
▼
(5) Windows 瀏覽器 / API 測試工具
到這邊為止,算是讓我比較清楚整個狀況了吧!